# -*- coding: utf-8 -*-
class Ders:
    def __init__(self, ad, sozlu, yazili, dersaati):
        self.ders = ad
        self.sozluler = sozlu
        self.yazililar = yazili
        self.dersaati = dersaati
    def calculate(self):
        ortalama = len(self.yazililar) + 1
        sozlu = 0
        yazili = 0
        for i in self.sozluler:
            sozlu += i
        sozlu = float(sozlu)/float(len(self.sozluler))
        for i in self.yazililar:
            yazili += i
        son = (float(sozlu)+float(yazili))/float(ortalama)
        return son
    def getCVS(self):
        last = self.calculate()
        draft="\"%s\",\"%s\",\"%s\"" % (self.ders,str(last) ,str(self.dersaati))
        return draft
                
class Kaydedici:
    def __init__(self):
        self.dersler=[]
             #Dersin adi= str, sozlu=list(int,int...), yazili=list(int,int...)
             #Derssaati = int
    def dersEkle(self, ad, sozlu, yazili, derssaati):
        dersim = Ders(ad,sozlu,yazili,derssaati)
        self.listeEkle(dersim)
    def listeEkle(self, ders):
        self.dersler.append(ders)
    def confYaz(self):
        fulltext = ""
        for i in self.dersler:
            fulltext = fulltext + i.getCVS() + "\n"
        myfile = open("not.conf","w")
        myfile.write(fulltext)
        myfile.close()

class Okuyucu:
    def __init__(self):
        self.dersler = []
        self.saat = []
        self.ortalama = []
    def okuEkle(self):
        myfile = open("not.conf","r")
        liste = myfile.read()
        liste = liste.split("\n")
        x = 0
        liste.pop(-1)
        while x < len(liste):
            myliste = liste[x].split(",")
            ad = myliste[0]
            ortalama = myliste[1]
            saat = myliste[2]
            ad = ad[1:-1]
            ortalama = float(ortalama[1:-1])
            saat = float(saat[1:-1])
            ders = oDers(ad,ortalama,saat)
            self.dersler.append(ders)
            x = x + 1
    def sonHesapla(self):
        x= 0
        while x< len(self.dersler):
            self.saat.append(self.dersler[x].saat)
            self.ortalama.append(self.dersler[x].ortalama*self.dersler[x].saat)
            x = x + 1
        toplam = sum(self.ortalama)/sum(self.saat)
        return toplam

    def ortalamaCikti(self):
        x = 0 
        while x < len(self.dersler):
            print self.dersler[x].ad,"ortalaması:",self.dersler[x].ortalama
            x = x +1       

class oDers:
    def __init__(self, ad, ortalama, saat):
        self.ad = ad
        self.ortalama = ortalama
        self.saat = saat

        